package com.design.pattern.factory;

import com.design.pattern.templateMethod.TemplateMethod;

/**
 * 抽象子工厂 实现父工厂
 * 子工厂各自生产不同的产品，公用的可以放父工厂 类似模板方法
 *
 * @param <T>
 */
public abstract class AbstractSonFactory<T> implements FatherFactory<T>{

    @Override
    public TemplateMethod create(T parameter) {
        common();
        return business(parameter);
    }


    public void common() {
        System.out.println("银行排队取号相同");
    }

    protected abstract TemplateMethod business(T parameter);

}
